package com.kh.pajx.sop.dao.sys;

import java.util.List;

import com.kh.pajx.sop.base.IBaseDao;
import com.kh.pajx.sop.domain.SysDictionary;


/**
 * 字典持久化操作接口
 * @author:	azzcsimp
 * @Createdate:	2014年6月27日 下午5:01:34
 */
public interface ISysDictionaryDao extends IBaseDao<SysDictionary>{
	
	/**
	 * 根据字典类型获取字典信息列表
	 * @param typeCode 字典类型编码
	 * @return List<SysDictionary> 字典信息列表
	 * @throws Exception   
	 * @author:	azzcsimp
	 * @Createdate:	2015年1月2日 下午3:11:43
	 */
	List<SysDictionary> findDicListByType(String typeCode) throws Exception;

	
	
	
	
	
	
	
	
	
	// =========================以下为需要整理或废弃方法===================================	
	/**
	 * 查询所有字典类型名称列表
	 * @return   字典类型列表
	 * @author:	azzcsimp
	 * @Createdate:	2014年6月27日 下午5:01:34
	 */
	List<String> getDicTypeNameList();
	
	/**
	 * 获取字典类型列表
	 * @return   
	 * @author:	azzcsimp
	 * @Createdate:	2014年7月1日 下午5:12:26
	 */
	List<SysDictionary> getDicTypeList();
	
	/**
	 * 根据字典类型名称查找字典列表
	 * @param dicTypeName 字典类型名称
	 * @return   字典列表
	 * @author:	azzcsimp
	 * @Createdate:	2014年7月2日 下午1:58:51
	 */
	public List<SysDictionary> getDicListByTypeName(String dicTypeName);
	
	/**
	 * 根据输入字典类型名称模糊查找匹配字典类型列表
	 * @param dicTypeName 字典类型名称
	 * @return   符合条件的字典类型列表
	 * @author:	azzcsimp
	 * @Createdate:	2014年7月1日 下午5:31:58
	 */
	List<?> getDicTypeListByTypeName(String dicTypeName);
	
	/**
	 * 校验字典类型编码是否已存在
	 * @param dicTypeCode 字典类型编码
	 * @return  int 存在条数
	 * @author:	azzcsimp
	 * @Createdate:	2014年7月2日 上午9:58:44
	 */
	int checkRepeatDicTypeCode(String dicTypeCode);
	
	/**
	 * 校验同一字典类型编码下，类型名称是否存在
	 * @param dicTypeCode 字典类型编码
	 * @param dicTypeName 字典类型名称
	 * @return   int 存在条数
	 * @author:	azzcsimp
	 * @Createdate:	2014年7月2日 上午11:40:28
	 */
	int checkRepeatDicTypeName(String dicTypeCode,String dicTypeName);
	
	/**
	 * 校验统一字典类型编码下，字典编码是否已存在
	 * @param dicCode 字典编码
	 * @param dicTypeCode 字典类型编码
	 * @return   是否有存在条数
	 * @author:	azzcsimp
	 * @Createdate:	2014年7月2日 上午11:44:17
	 */
	int checkRepeatDicCode(String dicCode,String dicTypeCode);
	/**
	 *根据字典编码查询该编码下所有字典
	 *@author xujiangtao
	 */
	public List<SysDictionary> getDicListByTypeCode(String dicTypeCode);
	
	/**
	 * 批量删除字典信息
	 * @param uuids 需要删除字典信息的uuid数组
	 * @return   删除行数
	 * @author:	azzcsimp
	 * @Createdate:	2014年7月9日 下午6:21:54
	 */
	int delete(String[] uuids);
}
